// 字典处理
import { defineStore } from 'pinia';

/**
 * pinia store
 * 字典数据缓存,  可以从后端数据库一次获取所有, 此处暂时用静态数据
 * 2024-12-18 13:31:49
 */
export const useDictStore = defineStore({
    id: 'dicts',  //store的ID

    state: () => ({
        dictionaries: {
            sex: [
                { value: 0, text: '女' },
                { value: 1, text: '男' }
            ],
            faultType: [
                { value: 1, text: '硬件' },
                { value: 2, text: '软件' },
                { value: 3, text: '升级' },
                { value: 4, text: '其它' }
            ],
            GODOS_PLACE:[
                { value: 1, text: '杭州' },
                { value: 2, text: '宁波' },
                { value: 3, text: '鄂尔多斯' },
            ]
        }
    }),

    getters: {
        // 返回指定字典类型,指定字典值的文本, 长用于将字典值翻译成文本
        getDictLabel: (state) => (dictType, dictValue) => {
            const dictItem = state.dictionaries[dictType]?.find(item => item.value === dictValue);
            return dictItem ? dictItem.text : 'Unknown';
        },
        // 返回指定类型字典
        getDict: (state) => (dictType) => {
            return state.dictionaries[dictType] || [];
        }
    },

    actions: {
        // 添加字典
        addDict(dictType,dictElment){
            Object.assign(this.dictionaries, {[dictType]: dictElment});
        }
    }
});
